MySQL 安装与启停 Yum 仓库安装
1 背景知识
2 操作系统准备
执行一键优化脚本。
sh opti
3 下载Yum 仓库源包
Warning
请注意,这种方式下载的是社区版本。
3.1 下载repo文件
- 请去 MySQL官方网站 上 yum.repo 下载地址下载对应操作系统版本的 yum repo文件。并上传到
/install
目录。
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
#root>
cd /install
wget https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm
wget https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm -y
3.2 安装repo 仓库
本地安装对应repo。
dnf localinstall mysql84-community-release-el9-1.noarch.rpm
3.3 安装yum-utils工具
dnf -y install yum-utils
4 安装MySQL
4.1 关闭操作系统自带的MySQL 源
sudo dnf module disable mysql
4.2 查看所有mysql 有关的安装源
yum repolist all | grep mysql
4.3 开启需要的yum源
sudo yum-config-manager --enable mysql-8.4-lts-community
sudo yum-config-manager --enable mysql-cluster-8.4-lts-community
4.4 查看已经启用的yum 源
sudo dnf repolist enabled | grep "mysql.*-community.*"
4.5 安装 MySQL
sudo dnf install mysql-community-server -y
5 MySQL的启动和停止
5.1 MySQL数据库启动
systemctl start mysqld
5.2 MySQL数据库查看
systemctl status mysqld
5.3 MySQL数据库开机自启动
systemctl enable mysqld
6 账户安全配置
使用 yum 仓库启动的 MySQL 数据库会自动初始化数据库集簇并生成root用户的临时密码,临时密码可以在第一次登陆之后修改。
grep 'temporary password' /var/log/mysqld.log
- 登录:
mysql -uroot -p
- 更改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
- 由于密码复杂度有相关要求:但是测试不需要则
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
set GLOBAL validate_password.policy=0;
设置密码长度
set GLOBAL validate_password.length=3;
- 设置密码复杂度为低。更方便测试。
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
7 附录
7.1 MySQL 启动后诊断
7.1.1 查看日志
tail host_name.err
7.1.2 选择驱动
默认为InnoDB
7.1.3 确认数据文件位置是否合适
7.1.4 查看所有配置参数和所有的环境变量
mysqld --basedir=/app/mysql --verbose –help | more
7.1.5 配置文件环境变量
mysqladmin variables -u root -p
mysqladmin -h host_name variables - u root -p
7.2 测试MySQL
- 检查mysql 是否正常运行
mysqladmin version
- 检查配置变量值
mysqladmin variables
- 检查是否能登陆
mysqladmin -u root -p version
- 关闭mysql 服务
mysqladmin -u root shutdown
- 显示mysql 数据库
mysqlshow
- 显示某个数据库中的表
mysqlshow mysql
- shell 界面查询表数据
mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql
Note
以上命令成功执行后则mysql 数据正常。
7.3 忘记root 密码
- 方法1:
kill `cat /mysql-data-directory/host_name.pid`
- 把以下语句保存到文件中
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
例如:/root/mysql-init
- 开始改变密码
mysqld --init-file=/home/me/mysql-init &
mysql 服务会自动启动。
- 然后删除保存密码的文件。
方法2:
添加my.cnf 选项
skip-grant-tables:
- 重启MySQL
- 更改密码
mysql
update user set password=password("new_pass") where user="root";
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';